package cn.lj.dao;

import cn.lj.pojo.Blog;
import cn.lj.pojo.BlogAndTag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author lj
 * @Description:
 * @date 2020-11-27 20:30
 * @QQ 851477108
 */

@Mapper
@Repository
public interface BlogDao {
    Blog getBlogById(Long id);
    //展示一个博客主体内容
    Blog getDetailedBlog(@Param("id") Long id);

    List<Blog> getAllBlog();

    //根据类型id获取博客
    List<Blog> getBlogByTypeId(Long typeId);

    //根据标签id获取博客
    List<Blog> getBlogByTagId(Long tagId);

    //后台根据标题、分类、推荐搜索博客
    List<Blog> searchAllBlog(Blog blog);

    //主页博客展示
    List<Blog> getIndexBlog();

    //推荐博客展示
    List<Blog> getAllRecommendBlog();

    //全局搜索博客
    List<Blog> getSearchBlog(String query);

    //查询所有年份，返回一个集合
    List<String> findGroupYear();

    //按年份查询博客
    List<Blog> findByYear(@Param("year") String year);


    int saveBlog(Blog blog);

    int saveBlogAndTag(BlogAndTag blogAndTag);

    int updateBlog(Blog blog);

    int deleteBlog(Long id);
}
